#include <Qfile>
#include<iostream>
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QByteArray>//qt中动态数组
#include<QDebug>
#include <QFileDialog>
#include<QTextStream>


MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

}

MainWindow::~MainWindow()
{
    delete ui;
}


void MainWindow::on_ButtonOpen_clicked()//点击打开文件
{
    //读取文件
    //创建文件
    // QFile file;
    // file.setFileName("D:\\qt\\dong.txt");
    // //打开文件
    // if(!file.open(QIODevice::ReadOnly | QIODevice::Text))//只读
    // {
    //     qDebug()<<"file is error";
    // }

    // QByteArray arry=file.readAll();//将读取的文件放在数组中

    // qDebug()<<arry;//输出

    // file.close();

    //写入文件
    // QFile file;
    // file.setFileName("D:\\qt\\dong.txt");
    // if(!file.open(QIODevice::WriteOnly)){
    //     qDebug()<<"file is error";
    // }
    // file.write("hello word");
    // file.close();
    // std::cout<<"finish"<<std::endl;



    //QTextStream的使用
    // QFile file;
    // file.setFileName("D:\\qt\\dong.txt");
    // bool f=file.open(QIODevice::ReadOnly);
    // if(!f){
    //     qDebug()<<"file is error";
    // }

    // QTextStream in(&file);//与file绑定
    // in.setEncoding(QStringConverter::Utf8);//可以用来指定打开格式
    // //QString context=in.read(file.size());
    // while(!in.atEnd())
    // {
    //     QString context=in.readLine();//按行读取
    //     qDebug()<<context;
    // }

    // file.close();




    //QFileDialog的使用
    QString fileName=QFileDialog::getOpenFileName(this,tr("打开文件"),"D:/qt/",tr("Text(*.txt)"));
    //                                            指定父窗口  设置对话框标题  路径    指定文件类型
    ui->textEdit->clear();
    QFile file;
    file.setFileName(fileName);
    bool fs=file.open(QIODevice::ReadOnly);
    if(!fs){
        qDebug()<<"file is error";
    }

    QTextStream in(&file);//与file绑定
    in.setEncoding(QStringConverter::Utf8);//可以用来指定打开格式

    while(!in.atEnd())
    {
        QString context=in.readLine();//按行读取
        //in.readall全部读取
        //qDebug()<<context;//输出到终端
        ui->textEdit->append(context);//读取到记事本的编辑框
    }

    file.close();



}


void MainWindow::on_ButtonClose_clicked()
{
    close();
}


void MainWindow::on_ButtonSave_clicked()
{
    QString fileName=QFileDialog::getOpenFileName(this,tr("save File"),"D:/qt/",tr("Text(*.txt)"));
    //                                            指定父窗口  设置对话框标题  路径    指定文件类型
    ui->textEdit->clear();
    QFile file;
    file.setFileName(fileName);
    bool fs=file.open(QIODevice::ReadOnly);
    if(!fs){
        qDebug()<<"file is error";
    }

    QTextStream in(&file);//与file绑定
    in.setEncoding(QStringConverter::Utf8);//可以用来指定打开格式

    while(!in.atEnd())
    {
        QString context=in.readLine();//按行读取
        //in.readall全部读取
        //qDebug()<<context;//输出到终端
        ui->textEdit->append(context);//读取到记事本的编辑框
    }

    file.close();
}

